#include <stdio.h>
#include <stdlib.h>

int cmp_float (const void* p1 , const void* p2) // 浮点型的数值不能随意返回,因为值相减之后并不是整型数据
{

    if (* (float*) p1 < * (float*) p2) // 设立判断,当p1比p2小的时候返回负值,其他情况同理
    {

        return -1 ;

    }

    else if (* (float*) p1 == * (float*) p2)
    {

        return 0 ;

    }

    else
    {

        return 1 ;

    }

}

int main ()
{

    float array [10] = {1.0 , 3.0  , 5.0 , 7.0 , 9.0 , 2.0 , 4.0 , 6.0 , 8.0 , 10.0} ;

    size_t sz = sizeof (array) / sizeof (array [0]) ;

    qsort (array , sz , sizeof (array[0]) , cmp_float) ;

    for (int i = 0 ; i < (int) sz ; i++)
    {

        printf ("%.2f " , array [i]) ;

    }

}